<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>

        function fn(arr) {
            var res = arr.reduce(function (pre, cur) {
                console.log(pre)
                //ture&&ture==ture 
                //false && ture==false 
                //ture && false==false
                //false && false==false
                //a&&b  计算时从左往右开始计算直到计算出结果为false为止。
                //如果a是false ,b不会被得到执行，就不会再去计算b的值了。直接返回false 
                pre.indexOf(cur) < 0 && pre.push(cur)
                return pre
            }, [])//pre初始状态 pre=[];
            console.log(res)
        }
        fn([1, 2, 2, 1])
    </script>
     
</body>
</html>